Pursuant to the MPEG-2 Advanced Audio Coding (MPEG-2 AAC) standard, audio signals are sampled at 48K samples/second. The samples are grouped into consecutive frames of 1024 samples. Windowing is applied on a block of audio samples. The block length “N” could be either 2048 or 256 samples. However, each window has a 50% overlap with the previous window.
Accordingly, the first N/2 samples of a window are the same as the last N/2 samples of the previous window. A window function is applied to each window, resulting in sets of 2048 or 256 windowed samples. A modified discrete cosine transformation is applied to each set of windowed samples, resulting in N/2 frequency coefficients. The frequency coefficients are then quantized and coded for transmission.
The first step in decoding is to establish the frame synchronization. Once the frame synchronization is found, the AAC bitstream can be decoded to generate audio time domain samples. The decoding process includes Huffman decoding, scale factor decoding, and decoding of side information used in tools such as Mid/Side (M/S), intensity stereo, TNS, and filter bank. The spectral samples are decoded and copied to the output buffer in a sampled fashion.
After Huffman decoding, for example, each coefficient may be inverse quantized by a 4/3 power nonlinearity and then scaled by the quantizer step size. Finally, the Inverse MDCT (IMDCT) transforms the spectral coefficients into time domain. After the IMDCT transform, the output samples may be windowed, overlapped, and added for generating the final pulse code modulate (PCM) samples.
Further limitations and disadvantages of conventional and traditional systems will become apparent to one of skill in the art through comparison of such systems with the invention as set forth in the remainder of the present application and with reference to the drawings appended hereto.